package Negocio;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="items_cc")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
	    name="tipo",
	    discriminatorType=DiscriminatorType.STRING
	)
public abstract class ItemCuentaCorriente implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1032243699435831885L;
	@Id
	@Column(name="item_cc_id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	protected int itemCCId;
	@Column(name="fecha")
	protected Date fecha;
	@Column(name="descripcion")
	protected String descripcion;
	@Column(name="importe_movimiento")
	protected Float importeMovimiento;
	@Column(name="saldo_movimiento")
	protected Float saldoMovimiento;
		
	@ManyToOne()
	@JoinColumn(name = "cuenta_corriente_id")
	protected CuentaCorriente cuentaCorriente;
	
	public ItemCuentaCorriente() {
	}
	
	public int getId() {
		return itemCCId;
	}
	public void setId(int itemCCId) {
		this.itemCCId = itemCCId;
	}
	public java.util.Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	public Float getImporteMovimiento() {
		return importeMovimiento;
	}
	public void setImporteMovimiento(Float importeMovimiento) {
		this.importeMovimiento = importeMovimiento;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public Float getSaldoMovimiento() {
		return saldoMovimiento;
	}
	public void setSaldoMovimiento(Float saldoMovimiento) {
		this.saldoMovimiento = saldoMovimiento;
	}

	public CuentaCorriente getCuentaCorriente() {
		return cuentaCorriente;
	}

	public void setCuentaCorriente(CuentaCorriente cuentaCorriente) {
		this.cuentaCorriente = cuentaCorriente;
	}
	
	

}
